package main

import "fmt"

func main() {

	// // 管道中放什么类型数据需要提前定义

	// // 申明int类型管道
	var channel chan int = make(chan int) // 无缓冲区管道

	// // 初始化&赋值
	// // channel := make(chan int)

	// // 操作
	// // 读，写
	// go func() {
	// 	channel <- 1 // 将1写入管道
	// }()

	// num := <-channel
	// fmt.Println(num)

	// close(channel)
	// for {
	// 	e, ok := <-channel
	// 	if !ok {
	// 		fmt.Println("over")
	// 		break
	// 	} else {
	// 		fmt.Println(e)
	// 	}
	// }

	// 遍历
	go func() {
		channel <- 1
		channel <- 2
		channel <- 3
		close(channel)
	}()

	for num := range channel {
		fmt.Println(num)
	}
}
